---
title: Resolve ancillary handles
summary: Build the claim application title, the logged-in user's employee record, and the imaging API client.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Application.Claim
reference_type: embedded
operation_id: OP-CLM-8
trigger: First access of ApplicationTitle, EmployeeData, or ClaimImageApiClient.
---

# Resolve ancillary handles

This operation covers the lazily-built ancillary values every derived claim manager gets configured identically: the screen title, the logged-in user's employee record, and the imaging API client.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-CLM-8 |
| **Trigger** | First access of `ApplicationTitle`, `EmployeeData`, or `ClaimImageApiClient` |
| **Inputs** | Current claim/user context |
| **Outputs** | Title string, employee record, imaging client |
| **Primary components** | `ClaimAppManager.ApplicationTitle`, `ClaimAppManager.EmployeeData`, `ClaimAppManager.ClaimImageApiClient` |
| **Entry point** | `SAIF.Application.Claim/ClaimAppManager.vb` |

## Steps

1. `ApplicationTitle` returns "`<SAIFClaimNumber>` - `<WorkerName.ToStandardLast>`" when `ClaimData` is non-`Nothing` and valid, otherwise `String.Empty` ([BR-CLM-021](../business-rules.md#br-clm-021-application-title-composition)).
2. `EmployeeData`, on first access, calls `clsEmployeeData.GetDataByMailID(DPI, DPI.UserID)`, resolving the employee record of the logged-in user from the claim portal; cached for the manager's lifetime.**
   - Delegated logic: implemented in `SAIF.BOF.Business.View.Claim` (`clsEmployeeData`); SQL not traced in this pass.
   > **Origin**: Employee record retrieval is implemented in `SAIF.BOF.Business.View.Claim` (`clsEmployeeData.GetDataByMailID`) and executed on behalf of this operation.
3. `ClaimImageApiClient`, on first access, constructs `New ImagingClient(EnvironmentService.GetConfigSetting("imagingapiurl"))`; cached for the manager's lifetime ([BR-CLM-022](../business-rules.md#br-clm-022-imaging-endpoint-resolved-once-per-manager)).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	A["ApplicationTitle accessed"] --> B{"ClaimData valid?"}
	B -->|Yes| C["Return claim number - worker<br>name"]
	B -->|No| D["Return empty string"]
	E["EmployeeData accessed first<br>time"] --> F["clsEmployeeData.GetDataByMailID"]
	F --> G["Cache for manager lifetime"]
	H["ClaimImageApiClient accessed<br>first time"] --> I["GetConfigSetting<br>imagingapiurl"]
	I --> J["New ImagingClient"]
	J --> K["Cache for manager lifetime"]
```

## Failure and edge-case behavior

- A missing or blank `imagingapiurl` setting has no guard and surfaces as a failure only at first imaging use, not at manager construction.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [Configuration](../configuration.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Application.Claim/ClaimAppManager.vb`
